package br.gov.mi.corporativo.dominio.boundary.comum.municipiopopulacao;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.MunicipioPopulacao;
import br.gov.mi.corporativo.dominio.repositorio.comum.MunicipioPopulacaoRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.municipiopopulacao.MunicipioPopulacaoEndPoint")
public class MunicipioPopulacaoServico extends CrudServicoImpl<MunicipioPopulacao, Long, MunicipioPopulacaoRepositorio>  implements MunicipioPopulacaoEndPoint{

	@Inject
    public void setRepository(MunicipioPopulacaoRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public MunicipioPopulacao recuperarPorIdMunicipioPopulacao(Long idMunicipioPopulacao) {
		return repositorio.findByIdMunicipioPopulacao(idMunicipioPopulacao);
	}

	@Override
	public MunicipioPopulacao recuperarPorMunicipio(Long municipio) {
		return repositorio.findByMunicipio(municipio);
	}

	@Override
	public List<MunicipioPopulacao> recuperarPorNrAno(Long nrAno) {
		return repositorio.findByNrAno(nrAno);
	}

	@Override
	public List<MunicipioPopulacao> recuperarPorQtPopulacao(Long qtPopulacao) {
		return repositorio.findByQtPopulacao(qtPopulacao);
	}

	@Override
	public List<MunicipioPopulacao> recuperarPorQtPopulacaoOcupada(Long qtPopulacaoOcupada) {
		return repositorio.findByQtPopulacaoOcupada(qtPopulacaoOcupada);
	}

	@Override
	public List<MunicipioPopulacao> recuperarPorQtPopulacaoAssalariada(Long qtPopulacaoAssalariada) {
		return repositorio.findByQtPopulacaoAssalariada(qtPopulacaoAssalariada);
	}

	@Override
	public List<MunicipioPopulacao> recuperarPorQtUinidades(Long qtUinidades) {
		return repositorio.findByQtUinidades(qtUinidades);
	}

	@Override
	public List<MunicipioPopulacao> recuperarPorVlSalarioRemuneracao(Long vlSalarioRemuneracao) {
		return repositorio.findByVlSalarioRemuneracao(vlSalarioRemuneracao);
	}
	
	
	
}
